GAE wiki
1
todo list 已经实现,但是gae竟然不能用,只能放弃了 不过gae上显示曾经有过流量,谁的?google的?
{{
- !/usr/bin/python
- coding : utf-8
- CopyRight 2012 Adou , All Rights Reserved .
import webapp2 from google.appengine.api import users from google.appengine.ext import db import urllib import os import datetime import jinja2
jinja_environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(_file_)))
class TodoList(db.Model):
pid = db.IntegerProperty() todo = db.StringProperty(multiline=True) date = db.DateTimeProperty(auto_now_add=True) datestr = db.StringProperty() done = db.BooleanProperty()
def login(func) :
def wrapper(args,*kw): user = users.get_current_user() if not user: args[0].redirect(users.create_login_url('/todo/')) else : return func(args,*kw) return wrapper
def getpid():
posts = db.GqlQuery('SELECT * FROM TodoList ORDER BY pid DESC LIMIT 1') return 0 if posts.count() == 0 else posts[0].pid + 1
class Todo(webapp2.RequestHandler):
@login def get(self): #user = users.get_current_user() #if not user: #self.redirect(users.create_login_url('/')) todos = db.GqlQuery("SELECT * FROM TodoList WHERE done=False ORDER BY date DESC") todolist = { 'todos':todos, } template = jinja_environment.get_template('todo.html') self.response.out.write(template.render(todolist))
@login def post(self) : #user = users.get_current_user() #if not user: #self.redirect(users.create_login_url('/')) todo = self.request.get('todo') if not todo : self.redirect(users.create_logout_url('/todo/')) tl = TodoList() tl.pid = getpid() tl.todo = todo tl.date = datetime.datetime.now() tl.datestr = tl.date.strftime('%H:%M %a %Y-%m-%d') tl.done = False tl.put() self.redirect('/todo/')
class TodoDel(webapp2.RequestHandler):
#pid = urllib.unquote(pid) pid = int(pid) #user = users.get_current_user() #if not user: #self.redirect(users.create_logout_url('/')) todos = db.GqlQuery("SELECT * FROM TodoList WHERE pid=:1",pid) db.delete(todos) self.redirect('/todo/')
class TodoEdit(webapp2.RequestHandler):
@login def get(self,filename): #user = users.get_current_user() #if not user: #self.redirect(users.create_logout_url('/')) pass
app = webapp2.WSGIApplication(
[ #('/',MainPage), #('/vimwiki/(.*)',VimWiki), #('/vimwiki/diary/(.*)',Diary), ('/todo/',Todo), ('/todo/del/(.*)',TodoDel), ('/todo/edit/(.*)',TodoEdit), #('/login/',Login), #('/logout/',Logout), ], debug=True )
}}